home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
8bitfiles.net/archives
/
archives.tar
/
archives
/
compuserve-file-archive
/
05 Programming
/
SHLRAM.SDA
/
C$GETCHAR.A
< prev
next >
Wrap
Text File
|
2019-04-13
|
2KB
|
127 lines
;
; SHELLRAM
;
; ┬Y: ┴DRIAN ╨EPPER
; ╘ORONTO, ╧NTARIO
;
; BASED ON, BUT HEAVILY MODIFIED FROM
; THE ╨RO-╠INE/╙PINNAKER
; ├ ╨╧╫┼╥/╨╧╫┼╥ ├ SHELL FOR THE
; ├OMMODORE 64 HOME COMPUTER.
;
; ╘HE SHELL WAS MODIFIED TO REDUCE
; THE SIZE OF THE CODE, AND ARRANGE
; THINGS SO MEMORY PAGE 22 (HEX $16)
; WILL BE FREE FOR USE AS A "╥┴═DISK
; ╔NTERFACE ╨AGE", FOR USE WITH THE
; ├OMMODORE 1764 256╦ ╥┴═ EXPANDER
; FOR THE ├OMMODORE 64
;
; ╘HIS (BASICALLY) ALLOWS ALL PROGRAMS
; DESIGNED TO RUN UNDER THE SHELL TO
; OPERATE WITH THE ╥┴═ DISK
;
;
; C$GETCHAR.A
;
; ╘HIS IMPLEMENTS THE ├ LIBRARY ROUTINES
; C$2102, ├$1102, C$FUNCTñINIT AND
; C$GETCHAR
;
; ╘HEY MUST BE IN THE SHELL TO SAVE
; SPACE. ╔T WOULD BE NICE TO BE ABLE TO
; LINK IN THE VERSIONS FROM THE DISTRIBUTION
; LIBRARY DISK, BUT SEVERAL PROBLEMS
; PREVENT THIS, SO THESE VERSIONS ARE
; PROVIDED HERE.
;
.REF FSTATBL
.REF CGETCNT
.REF CGETLIM
;
.REF READST
.REF CHRIN
.REF CHROUT
;
.DEF C$2102
.DEF C$1102
.DEF C$FUNCTñINIT
.DEF C$GETCHAR
;
.REF CGETCBF ; MUST BE FORCED ABOVE THE $1600 TO $16FF ADDRESS PAGE
;
;
; C$2102 - PUSH 0 ONTO ├ STACK
;
C$2102 LDA #0
;
; C$1102 - PUSH A ONTO ├ STACK
;
C$1102 LDY #0
STA ($1A),Y
INC $1A
BNE T0090F
INC $1B
T0090F RTS
;
; C$FUNCTñINIT - DO C FUNCTION INIT
;
C$FUNCTñINIT LDA $1A
BNE T0150F
DEC $1B
T0150F DEC $1A
LDY #$00
LDA ($1A),Y
TAX
RTS
;
; C$GETCHAR - DO GETC FOR C
;
C$GETCHAR TAY
DEY
LDA FSTATBL,Y
BEQ T0100F
SEC
RTS
T0100F LDA $99
BEQ T0110F
JSR CHRIN
PHA
JSR READST
STA FSTATBL,Y
PLA
CLC
RTS
T0110F LDX CGETCNT
CPX CGETLIM
BNE T0140F
STY VCGETFN
TAY
T0120B JSR CHRIN
STA CGETCBF,Y
INY
CMP #$0D
BNE T0120B
JSR CHROUT
STY CGETLIM
STY CGETCNT
LDA CGETCBF
CMP #'.
BNE T0130F
LDA CGETCBF+1
CMP #$0D
BNE T0130F
LDY VCGETFN
LDA #$01
STA FSTATBL,Y
SEC
RTS
T0130F LDX #0
STX CGETCNT
T0140F LDA CGETCBF,X
INC CGETCNT
CLC
RTS
VCGETFN .BSS 1